---
title: Determine the owning policy system
summary: Determines whether WCIS or SAIFQuote owns a policy via an Oracle package function.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: package
operation_id: op-11-policy-ownership-system
trigger: Caller invokes GetPolicyOwnershipSystem
---

# Determine the owning policy system

Determines whether WCIS or SAIFQuote owns submission of a policy via the Oracle package function `pk73102_policy.does_wcis_own_submission`.

| Field | Value |
| --- | --- |
| **Operation ID** | op-11-policy-ownership-system |
| **Trigger** | Caller invokes `GetPolicyOwnershipSystem` |
| **Inputs** | `IDataPortalInfo`, policy number |
| **Outputs** | `Enums.PolicyOwnershipSystems` |
| **Primary components** | `PolicyInformation.GetPolicyOwnershipSystem` |
| **Entry point** | SAIF.Business.Policy/PolicyInformation.vb |

## Steps

1. Scalar text request executing the Oracle package **function** `pk73102_policy.does_wcis_own_submission(:in_policy_num)` via `SELECT … FROM DUAL` ([SQL-005](../sql/SQL-005-get-policy-ownership-system.md)).
2. Bind `in_policy_num`.
3. `ToBoolean` on the result: `True` → `PolicyOwnershipSystems.WCIS`, otherwise → `PolicyOwnershipSystems.SAIFQuote` ([BR-POL-005](../business-rules.md#br-pol-005-policy-ownership-determination)).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start(["Caller invokes<br>GetPolicyOwnershipSystem"]) --> Request["Scalar text request executing<br>pk73102_policy.does_wcis_own_submission<br>via SELECT … FROM DUAL"]
	Request --> Bind["Bind in_policy_num"]
	Bind --> Check{"ToBoolean(Result)<br>True?"}
	Check -->|"True"| WCIS(["Return<br>PolicyOwnershipSystems.WCIS"])
	Check -->|"False"| SAIFQuote(["Return<br>PolicyOwnershipSystems.SAIFQuote"])
```

## Failure and edge-case behavior
- Ownership determination is implemented in Oracle package `pk73102_policy`; body not retrieved for this run.**

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)
- [Stored procedures](../procedures/index.md)

## Sources
- `SAIF.Business.Policy/PolicyInformation.vb`
- `SAIF.Business.Policy/Enums.vb`
